home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / TGCBOR20.ARJ / INTROPAK.COM / TSTPICK2.C < prev    next >
Text File  |  1991-04-06  |  3KB  |  98 lines

  1. /* shows a simple pick list that can have items added to it */
  2.  
  3. #include "teglsys.h"
  4. #include "stdlib.h"
  5.  
  6. char pickeditem[255];
  7.  
  8. unsigned exitoption(imagestkptr fs, msclickptr ms)
  9. {
  10.     abortexit(pickeditem);
  11.     return 1;
  12. }
  13.  
  14. unsigned droppicklist(imagestkptr fs, unsigned userkey, void * dataarea)
  15. {
  16.     optionmptr picklist = (optionmptr) dataarea;
  17.  
  18.     dropoptionmenu(picklist);
  19.     return 0;
  20. }
  21.  
  22.  
  23. unsigned randomnum(unsigned n)
  24. {
  25.    if (n) n=rand()%n;
  26.  
  27.    return n;
  28. }
  29.  
  30. unsigned dropitems(imagestkptr fs, msclickptr ms)
  31. {
  32.     optionmptr     picklist;
  33.  
  34.     getuserdataarea(fs,222,&picklist);
  35.     detachpicklist(picklist);
  36.     deletepickitem(picklist,randomnum(picklist->numofentries)+1);
  37.     deletepickitem(picklist,randomnum(picklist->numofentries)+1);
  38.     deletepickitem(picklist,randomnum(picklist->numofentries)+1);
  39.     deletepickitem(picklist,randomnum(picklist->numofentries)+1);
  40.     attachpicklist(picklist,randomnum(picklist->numofentries)+1);
  41.  
  42.     beep(500,4,50);
  43.     return 1;
  44. }
  45.  
  46.  
  47. unsigned additems(imagestkptr fs, msclickptr ms)
  48. {
  49.     optionmptr picklist;
  50.  
  51.     getuserdataarea(fs,222,&picklist);
  52.     detachpicklist(picklist);
  53.     insertpickitem(picklist,randomnum(picklist->numofentries)+1,"item one on list",additems,pickeditem);
  54.     insertpickitem(picklist,randomnum(picklist->numofentries)+1,"item two on list",dropitems,pickeditem);
  55.     insertpickitem(picklist,randomnum(picklist->numofentries)+1,"item three on list",additems,pickeditem);
  56.     insertpickitem(picklist,randomnum(picklist->numofentries)+1,"item four on list",dropitems,pickeditem);
  57.     insertpickitem(picklist,randomnum(picklist->numofentries)+1,"item five on list",additems,pickeditem);
  58.     insertpickitem(picklist,randomnum(picklist->numofentries)+1,"item six on list",dropitems,pickeditem);
  59.     insertpickitem(picklist,randomnum(picklist->numofentries)+1,"item seven on list",additems,pickeditem);
  60.     attachpicklist(picklist,randomnum(picklist->numofentries)+1);
  61.  
  62.     beep(500,4,50);
  63.     return 1;
  64. }
  65.  
  66.  
  67. void testpicklist(void)
  68. {
  69.     unsigned x, y, x1, y1;
  70.     optionmptr     picklist;
  71.  
  72.     x = 100;
  73.     y = 100;
  74.     x1 = x + 200;
  75.     y1 = y + 200;
  76.  
  77.     pushimage(x,y,x1,y1);
  78.     shadowbox(x,y,x1,y1);
  79.  
  80.     picklist = createpicklist(font14);
  81.     definepickitem(picklist,"item one on list",additems,pickeditem);
  82.     definepickitem(picklist,"item two on list",dropitems,pickeditem);
  83.  
  84.     setuserdataarea(stackptr,222,picklist,droppicklist);
  85.     definepicklistarea(stackptr,10,10,3,5,picklist);
  86. }
  87.  
  88.  
  89. void main()
  90. {
  91.    easytegl();
  92.    easyout();
  93.  
  94.    testpicklist();
  95.  
  96.    teglsupervisor();
  97. }
  98.